MADS Assembler- Befehl INS

← Zurück zum Forum

Hi,

mit INS kann man ja dafür sorgen, daß beim Kompilieren eine Datei mit reingeladen wird.

Laut MADS Doku kann man an dieser Stelle auch dafür sorgen, daß ein eventuell vorhandener COM-Header entfernt wird.

Bei

ins "spws.o",+ofset

bekomme ich aber nur die Meldung, daß "ofset" kein definiertes Label ist.

Wie macht man das richtig?

(Ich könnte natürlich auch die Datei in den A8 laden und dann ohne Header abspeichern).

CU, Erhard

Jede Info, die zu Hause auf meinem Rechner liegt habe ich unterwegs nicht verfügbar. Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.

AntwortZitat

ofset ist die Anzahl an Bytes, die übersprungen werden sollen.

In deinem Fall wäre das dann vermutlich der XEX-Header von sechs Bytes:

INS "spws.o" ,+6

Ich hab vor dem Komma auch immer noch ein Leerzeichen stehen, weiß aber nicht ob das zwingend notwendig ist.

AntwortZitat

Es gibt .opt h- und .opt h+ und auch den icl Befehl. Die Optionsschalter müssen vorher (und bei Bedarf auch nachher) gesetzt werden.

  .opt h-
  INS "spws.o"
  .opt h+

Hoffe ich habe das jetzt so aus dem Kopf korrekt gezeigt.

PP´s of STARSOFTBerlin____github|meine Webseite|Demozoo

AntwortZitat

Oha, wieder etwas gelernt. Ich dachte immer, dass .opt h- sich nur auf die Codeerzeugung beim Assemblieren auswirkt.

AntwortZitat

DjayBee schrieb: Oha, wieder etwas gelernt. Ich dachte immer, dass .opt h- sich nur auf die Codeerzeugung beim Assemblieren auswirkt.

Ich habe das irgendwann mal in alten g2f Sources gesehen. Allerdings ist das mit dem ",+ofset" sicherlich, die richtige Option.

PP´s of STARSOFTBerlin____github|meine Webseite|Demozoo

AntwortZitat

Hi,

DjayBee schrieb: ofset ist die Anzahl an Bytes, die übersprungen werden sollen.

In deinem Fall wäre das dann vermutlich der XEX-Header von sechs Bytes:

INS "spws.o" ,+6

oha, das hätte ich vielleicht auch drauf kommen können, bin ich aber nicht. Und gerade das eigentlich falsch geschriebene "ofset" hat mich vermutlich ganz davon abgebracht. Sowas passiert, wenn in einer Anleitung zwar die Syntax dargestellt wird, aber keine Beispiele drin stehen. Vielen Dank für die Erleuchtung! 🙂

pps schrieb: Es gibt .opt h- und .opt h+ und auch den icl Befehl.

Ich versuche gerade, mich über WUDSN in MADS etwas einzufinden. Mir fehlt also jede Routine. Bislang hab ich gewöhnlich auf dem A8 mit dem Mac/65 gearbeitet. Aber der ICL - Befehl ist meines Wissens zum Einbinden von zusätzlichen Quellen und funktioniert nicht für Daten, oder?

CU, Erhard

Jede Info, die zu Hause auf meinem Rechner liegt habe ich unterwegs nicht verfügbar. Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.

AntwortZitat

Erhard schrieb:

pps schrieb: Es gibt .opt h- und .opt h+ und auch den icl Befehl.

Ich versuche gerade, mich über WUDSN in MADS etwas einzufinden. Mir fehlt also jede Routine. Bislang hab ich gewöhnlich auf dem A8 mit dem Mac/65 gearbeitet. Aber der ICL - Befehl ist meines Wissens zum Einbinden von zusätzlichen Quellen und funktioniert nicht für Daten, oder?

CU, Erhard

Ja, icl bindet anderen source code ein. Ich bin manchmal ein wenig schnell im Schreiben, wie es scheint 😜

PP´s of STARSOFTBerlin____github|meine Webseite|Demozoo

AntwortZitat

Es ist zudem sinnvoll solche Tabellen in einer "Daten include Datei" in einzelne ".local" Bereiche zu packen. Dann kann man dort auch weitere Abtrennungen machen und von "Außen" schön ansprechen.

  .local erstes_frame
  .he 00 04 06 ab 00 55
x
  .he 44 5a 90 aa ff cd
  .endl

  .local zweites_frame
  .he 11 22 33 44 55 66
x
  .he 99 aa bb cc dd ee
  .endl

Direkt ansprechbar mit: erstes_frame.x oder auch zweites_frame.x oder halt den oberen Bereich direkt mit erstes_frame

PP´s of STARSOFTBerlin____github|meine Webseite|Demozoo

AntwortZitat

Dr. Irata schrieb: ... ok... aber das muss man gar nicht so kompliziert machen:

ich kann direkt auf yconverthi oder yconvertlo zugreifen

Ja, das ist in solch einfachen Codes noch so logisch. Aber wenn es mal komplexer wird und man bei einigen Objekten selbe Ansprechpunkte haben möchte, ist das Einbetten in local Strukturen sehr sinnvoll. Habe das selbst schon gemerkt. Erst ohne und irgendwann nur noch Chaos beim Ansprechen, dann kam die Idee es zu ändern und schwupps, schnell war der Code zu Erweitern ohne langes überlegen und immer wieder nachschauen.

PP´s of STARSOFTBerlin____github|meine Webseite|Demozoo

AntwortZitat

Hi,

MADS ist schon recht umfangreich, was Vor- und Nachteile hat.

Nachteil: viel zu lernen, macht die Quelle (für mich) unübersichtlicher Vorteil: er kann Sachen aus verschiedenen Assemblern

Bsp:

dta b($31) entspricht .byte $31 entspricht .by $31 entspricht .he $31 dta a($FFFF) entspricht .byte a($FFFF) entspricht .word $FFFF

Was ich mir in WUDSN am entsprechenden Editor verbessert wünsche ist das Tabulatorverhalten. Leider kann man hier offenbar einfach nur eine Standardsprungweite definieren. Das hat mir beim Mac/65 besser gefallen. Hier war die Definition beispielsweise .TAB 17,23,40. Damit hat man dann definiert, in welcher Spalte Befehl, Operand und Kommentar beginnen sollen. Noch mehr Durcheinander gibt es dann in der .lst-Datei. Da kann man von Spalten eigentlich schon gar nicht mehr reden.

Aber freilich macht das Editieren in WUDSN deutlich mehr Spaß als nativ auf dem A8. Syntax-Highlighting, Blöcke verschieben usw.

Jede Info, die zu Hause auf meinem Rechner liegt habe ich unterwegs nicht verfügbar. Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.

AntwortZitat